往期精选
Java中如何优雅的实现时间控制,解决Token失效及表单重复提交问题
消息队列应用场景及ActiveMQ、RabbitMQ、RocketMQ、Kafka对比
图解 Spring 循环依赖,近两年流行的 Java 面试题!
Java 8 中 Map 骚操作之 merge() 的用法分析
在本地建立一个精简版的数据库,并生成了100w的数据。模拟线上发生的情况。
建立表结构
CREATE TABLE `order_today` (
`id` varchar(32) NOT NULL COMMENT '主键',
`merchant_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '商户编号',
`amount` decimal(15,2) NOT NULL COMMENT '订单金额',
`pay_success_time` datetime NOT NULL COMMENT '支付成功时间',
`order_status` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '支付状态 S:支付成功、F:订单支付失败',
`remark` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '备注',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间 -- 修改时自动更新',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_merchant_id` (`merchant_id`) USING BTREE COMMENT '商户编号'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE order_record like order_today;
INSERT INTO order_record SELECT
*
FROM
order_today
WHERE
pay_success_time < '2020-03-08 00:00:00';
INSERT INTO order_record SELECT
*
FROM
order_today FORCE INDEX (idx_pay_suc_time)
WHERE
pay_success_time <= '2020-03-08 00:00:00';
执行过程
https://blog.csdn.net/asdfsadfasdfsa/article/details/83030011
作者:不一样的科技宅
blog.csdn.net/u012110298/article/details/104771200
往期精选
Java中如何优雅的实现时间控制,解决Token失效及表单重复提交问题
消息队列应用场景及ActiveMQ、RabbitMQ、RocketMQ、Kafka对比
图解 Spring 循环依赖,近两年流行的 Java 面试题!
Java 8 中 Map 骚操作之 merge() 的用法分析